<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /*
            字符串声明：
                1.通过new运算符去声明字符串
                2.省略new声明字符串
                3.字符串常量赋值

            访问字符串中单个字符
                字符串.charAt(下标)
                字符串[下标]
            
            字符串是只读的，字符串一旦被声明就没办法修改，如果非要修改，只能将原字符串销毁，重新生成新的字符串。
            在js中，字符串既是基本数据类型，又是复合数据类型

            字符串的方法：
                big()  用大号字体显示字符串
                blink() 显示闪动字符串
                bold()  使用粗体显示字符串
                fixed()  以打字机文本显示字符串
                strike()  使用删除线来显示字符串
                fontcolor()  使用指定颜色来显示字符串
                fontsize()  使用指定尺寸来显示字符串
                link()  把字符串显示为链接
                sub()  把字符串显示为下标
                sup()  把字符串显示为上标
                document.write()中使用，用特殊的样式输出该字符串

                重点要记的！
                字符串.charCodeAt(下标)  访问对应下标字符的ASCII码值
                String.fromCharCode(码值) 将传入的ASCII码值转成对应的字符  返回组成的字符串
                supStr.indexOf(subStr,start)
                    第一个参数，查找的字符串   start：从哪个下标开始查找，如果不传入，默认从0开始查找
                    在supStr中查找subStr第一次出现的位置 
                    返回值是-1代表没找到
                supStr.lastIndexOf(subStr)
                    在supStr中查找subStr最后一次出现的位置
                    返回值是-1代表没找到
                supStr.search(subStr)
                    subStr可以是字符串/正则表达式
                    在supStr中查找subStr第一次出现的位置
                    返回值-1代表没有找到

                    正则表达式 /xxx/  修饰符：i 忽略大小写  g全局匹配
                字符串.substring(start，end);  提取这部分的字符，生成一个新字符串
                字符串.substr(start,length);  提取这部分的字符，生成一个新字符
                字符串.slice(start，end);  提取这部分的字符，不包括end字符，生成一个新字符串
                字符串.replace(old,new);   用new将old替换掉，生成新字符串
                    第一个参数传入的字符串只能替换一次
                    返回的是替换成的新字符串
                字符串.split(分割符，length) 
                    参数：第一个，用这个分隔符对原字符串进行分割。第二个，控制返回的数组的元素个数，一般情况不用
                    返回值：数组

                toLowerCase()转成全小写
                toUpperCase()转成全大写
                字符串.concat() 字符串拼接
        */
        let a = new String(100);
        console.log(typeof a);   //object
        let b = String(100);
        console.log(typeof b);   //string
        let c = "100";
        console.log(typeof c);   //string
        //document.write(c.blink())

        //验证码
        function numTestCode(n){
            var arr = [];
            for(var i=0;i<n;i++){
                var num = parseInt(Math.random()*10);
                arr.push(num);
            }
            return arr.join("");
        }
        //alert(numTestCode(6));

        function testCode(n){
            var arr =[];
            for(var i = 0;i<n;i++){
                var num = parseInt(Math.random()*123);
                if(num>=0 && num<=9){
                    arr.push(num);
                }
                else if(num>=97&&num<=122||num>=65&&num<=90){
                    arr.push(String.fromCharCode(num));
                }else{
                    i--;
                }
            }
            return arr.join("");
        }
        //alert(testCode(6));

        function btnClick(){
            var div1 = document.getElementById('div1');
            div1.innerHTML = testCode(6);
        }


        //敏感词过滤
        /*
            表单元素，获取其中内容，通过.value的属性
            双标签节点 innerHTML属性，获取标签间内容
        */
       var arr = [/靠/ig,/tmd/ig]
        function btn(){
            var text1 = document.getElementById("text1");
            var msg = document.getElementById("msg");
            var oValue = text1.value;
            for(var i=0;i<arr.length;i++){
                oValue = oValue.replace(arr[i],"*");
                console.log(oValue);
            }
            msg.innerHTML = oValue;
            text1.value = "";
        }
    </script>
    <style>
        #msg{width: 400px;height: 400px;border: 1px solid black;}
    </style>
</head>
<body>
    <div id="div1">00000</div>
    <button onclick='btnClick();' style="display: block;">获取验证码</button>

    <textarea name="" id="text1" cols="30" rows="10"></textarea>
    <button onclick='btn()'>发布</button>
    <div id = "msg"></div>
</body>
</html>